/**
 * Perform the element default action.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"8F38F1B3-A5B8-49F2-B086-02A313839BBB"}
 * @AllowToRunInFind
 */
function continuar(event) 
{	
	elements.errores.removeAllTabs()
	var res = globals.chequeaVariables()
	if (res[0] == 1)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Error en variables globales : '+res[1],'OK')
		return
	}

	var $tipo_asiento	= 11
	if (globals.control_asientos_prov($tipo_asiento,globals.gMesAsientos,globals.gAnioAsientos) == 0 )
	{   
		return
	}
	// DEFINE FOUNDSETs
	var $provisorio = databaseManager.getFoundSet('contable','asiento_prov_cab')
	var $movim		= databaseManager.getFoundSet('infocom','movim_cyb')
	var $cols		= ['fecha','documento','error']
	var $errores 	= databaseManager.createEmptyDataSet( 0,  $cols)
	
	// BUSCAR en MOVIM_CYB mov. de CAJA
	if ($movim.find() == false) 
	{
		globals.DIALOGS.showWarningDialog('Aviso','Ocurrió un error al buscar movimientos','OK')
		return
	}
	var $fecha_desde 			= new Date(globals.gAnioAsientos, globals.gMesAsientos-1,1,0,0,0,0)
	var $fecha_hasta 			= new Date(globals.gAnioAsientos, globals.gMesAsientos,0,23,59,59,996)
	var rango 					= utils.dateFormat($fecha_desde,'dd-MM-yyyy') + '...'+ utils.dateFormat($fecha_hasta,'dd-MM-yyyy')
	$movim.fecha_extracto 		= '#' + rango + '|dd-MM-yyyy'   
	$movim.valor_id 			= 5   //  TODO  hay zconf...  ? 
	$movim.cod_movim			= globals.zconf_cyb_cod_movim_egreso    
	$movim.marca_conciliacion 	= 1 
	var found = $movim.search()
	if (found == 0)
	{
		globals.DIALOGS.showWarningDialog('Aviso','No se encontraron movimientos conciliados con esas condiciones','OK')
		return
	}
	databaseManager.setAutoSave(false)
	// POR cada MOVIM_CYB  
	var $cant = databaseManager.getFoundSetCount($movim)
	for (var i = 1 ; i <= $cant ; i++)
	{
		var $rcd = $movim.getRecord(i)
		tipoAsiento_11($rcd , $provisorio , $errores, $tipo_asiento)		
		
	} // fin for de MOVIM
	if ($errores.getMaxRowIndex() > 0)
	{
		var $fecha_hoy 	= utils.dateFormat(new Date(),'dd-MM-yyyy')
		var $periodo	= 'Desde ' + utils.dateFormat($fecha_desde,'dd-MM-yyyy') + ' hasta '  + utils.dateFormat($fecha_hasta,'dd-MM-yyyy')
		var $titulo		= 'Asiento Conciliacion - ' + $periodo + ' - Fecha Proceso ' + $fecha_hoy
		globals.crearFormErrores('asiento_conciliacion_11',$errores,$cols,$titulo)
	}

	databaseManager.startTransaction()
	if (databaseManager.saveData()) 
	{
		databaseManager.setAutoSave(true)
		databaseManager.commitTransaction()
	}
	else
	{
		databaseManager.rollbackTransaction()
		globals.DIALOGS.showWarningDialog('Aviso','Ocurrió un error al intentar grabar los cambios. El proceso está incompleto','OK')
	}
}

/**
 * @properties={typeid:24,uuid:"C7B2C00B-4D0A-4FAC-9E1B-F31388D33DB2"}
 */
function tipoAsiento_11($rcd , $provisorio , $errores, $tipo_asiento) 
{
//  HABER = DEBE  es el mismo importe
	
	// CABECERA ASIENTO
	$provisorio.newRecord()

	$provisorio.moneda 				= 'P'
	$provisorio.moneda_carga 		= 1
	$provisorio.hizo 				= globals.gUsuarioID
	$provisorio.tipo_actualizacion 	= globals.z_conf_asiento_normal
	$provisorio.hija 				= globals.gUservID 
	$provisorio.fecha 				= $rcd.fecha_movim
	$provisorio.texto 				= $rcd.concepto    
	$provisorio.subdiario_id 		= 4 // egresos
	$provisorio.mes					= $rcd.fecha_movim.getMonth()+1
	$provisorio.anio				= $rcd.fecha_movim.getFullYear()
	$provisorio.tipo_asiento_id 	= $tipo_asiento 
	$provisorio.total				= $rcd.importe

	var error
	// DETALLE ASIENTO
	/** @type {JSFoundSet<db:/contable/asiento_prov>}*/
	var det = $provisorio.asiento_prov_cab_to_asiento_prov_copia
	// ALTA VALORES DIFERIDOS  (es DEBE)
		det.newRecord()
		
		det.columna = 'D'
		///////////////////  desde  11/07/2012
		det.cuentas_id = 999999
		if ($rcd.valor_id == 5 || $rcd.valor_id == 4)  
		{
			if($rcd.movim_cyb_to_cuentas_cyb_copia.plancta_id_val_difer == null) 
			{
				error = new Array(utils.dateFormat($rcd.fecha_movim,'dd-MM-yyyy'), $rcd.concepto, 'Cuenta contable valores difer. no cargada en cuentas_cyb codigo=' + $rcd.cuentas_cyb_id)
				$errores.addRow(error)
			}
			else
				det.cuentas_id = $rcd.movim_cyb_to_cuentas_cyb_copia.plancta_id_val_difer
		}	
		else				
		{	
			if ($rcd.movim_cyb_to_cuentas_cyb_copia.plancta_id == null) 
			{
				error = new Array(utils.dateFormat($rcd.fecha_movim,'dd-MM-yyyy'), $rcd.concepto, 'Cuenta contable no cargada en cuentas_cyb codigo=' + $rcd.cuentas_cyb_id)
				$errores.addRow(error)
			}
			else
				det.cuentas_id = $rcd.movim_cyb_to_cuentas_cyb_copia.plancta_id	
		}

		///////////////////  hasta  11/07/2012
		det.importe 	= $rcd.importe
		det.numero		= 0
		det.empresa		= globals.gUservID
		det.centro		= 1
		det.division	= 1
		det.leyenda		= 'Caja'  
		det.mes			= $rcd.fecha_movim.getMonth()+1
		det.anio		= $rcd.fecha_movim.getFullYear()  

	
	// ALTA BANCO  (es HABER)
		det.newRecord() 
		
		det.columna = 'H'
		det.cuentas_id = 999999
		if ($rcd.movim_cyb_to_cuentas_cyb_copia.getSize()>0)  
		{
			if ($rcd.movim_cyb_to_cuentas_cyb_copia.plancta_id!=null)
			{	
				det.cuentas_id 	= $rcd.movim_cyb_to_cuentas_cyb_copia.plancta_id
				det.leyenda	= $rcd.movim_cyb_to_cuentas_cyb_copia.descripcion
			}
			else
			{
				error = new Array(utils.dateFormat($rcd.fecha_movim,'dd-MM-yyyy'), 'Conciliacion de fecha extracto '+utils.dateFormat($rcd.fecha_extracto,'dd-MM-yyyy'), ' Cuenta contable no cargada en tabla cuentas_cyb codigo=' + $rcd.cuentas_cyb_id)
				$errores.addRow(error) 
			}
		}
		else
		{// NO EXISTE relacion movim_cyb to cuentas_cyb
			error = new Array(utils.dateFormat($rcd.fecha_movim,'dd-MM-yyyy'), 'Conciliacion de fecha extracto '+utils.dateFormat($rcd.fecha_extracto,'dd-MM-yyyy'), ' Error de relacion con movim_cyb y cuentas_cyb')
			$errores.addRow(error)
		}		
		det.importe 	= $rcd.importe
		det.numero		= 0
		det.empresa		= globals.gUservID
		det.centro		= 1
		det.division	= 1
		det.mes			= $rcd.fecha_movim.getMonth()+1
		det.anio		= $rcd.fecha_movim.getFullYear()
}
